package modelos;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.LinkedList;

public class Autor extends Usuario{

    private int idAutor;
    private String ultimaFechaPublicacion;
    private String incentivo;
    
    public void votar(String id){
   try{
       String s = "UPDATE AUTOR SET votos = votos + 1 WHERE id_autor = "+ id;
       System.out.println(s); 
         stmt.executeUpdate(s);
      }catch (Exception e) { System.out.println ("Cannot update database" + e ); }   
   }
    
    public void limpiarVotos(String id){
   try{
       String s = "UPDATE AUTOR SET votos = 0 WHERE id_autor = "+ id;
       System.out.println(s); 
         stmt.executeUpdate(s);
      }catch (Exception e) { System.out.println ("Cannot update database" + e ); }   
   }
    
    public LinkedList getCandidatos(){
    LinkedList candidatos;
    candidatos = new LinkedList();
        
      try {
         stmt.executeQuery ("SELECT nombre, nombre_usuario, votos, id_usuario FROM usuario, Autor WHERE id_autor = id_usuario AND votos < 3");
         ResultSet rs = stmt.getResultSet();
        // rs.next(); //Va al registro ya validado
         while(rs.next()){
            candidatos.add(rs.getString("nombre"));
            candidatos.add(rs.getString("nombre_usuario"));
            candidatos.add(rs.getString("votos"));
            candidatos.add(rs.getString("id_usuario"));
         }
         rs.close();
         return(candidatos);
      } catch (SQLException e) {System.out.println ("Cannot getNombres()" + e);}
      return candidatos;    
    
    }
    
    
    public int getIdAutor() {
        return idAutor;
    }

    public void setIdAutor(int idAutor) {
        this.idAutor = idAutor;
    }

    public String getIncentivo() {
        return incentivo;
    }

    public void setIncentivo(String incentivo) {
        this.incentivo = incentivo;
    }

    public String getUltimaFechaPublicacion() {
        return ultimaFechaPublicacion;
    }

    public void setUltimaFechaPublicacion(String ultimaFechaPublicacion) {
        this.ultimaFechaPublicacion = ultimaFechaPublicacion;
    }
    
}
